home *** CD-ROM | disk | FTP | other *** search
- Subject: v11i054: Mail user's shell, Part04/12
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rs@uunet.UU.NET
-
- Submitted-by: island!argv@Sun.COM (Dan Heller)
- Posting-number: Volume 11, Issue 54
- Archive-name: mush5.7/Part04
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 04 (of 12)."
- # Contents: mush.1.b
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'mush.1.b' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mush.1.b'\"
- else
- echo shar: Extracting \"'mush.1.b'\" \(46963 characters\)
- sed "s/^X//" >'mush.1.b' <<'END_OF_FILE'
- X.I Mush
- Xcommand ``cmd''. You may not run any form of reply or sending of
- Xmail at all. It is inadvisable to change folders at this time
- Xsince the current message list may be corrupted, but the action is
- Xallowed nonetheless providing flexibility for experienced users.
- X.TP
- X~u
- XUp one line. If the user made a mistake typing a letter and he
- Xhas already hit carriage return, he may avoid entering the editor
- Xand edit the previous line using ~u. The line is retyped and
- Xthe cursor is placed at the end allowing the user to backspace
- Xover it and retype the line. System V users should note that if
- Xthe new line is shorter than is was previous to the ~u command, the
- Xline is padded with blanks to the previous length of the file.
- X.TP
- X~E
- XErase message buffer; clear all contents of letter.
- X.TP
- X~~
- XA line beginning with two escape characters will be unaffected by
- X.I Mush
- Xexcept that only a single tilde will be inserted into the letter.
- X.sp
- XThe variable
- X.B escape
- Xmay be set to describe a character other than ``~'' to be used as the
- Xescape character.
- XWhen sending mail, all the above applies to all three user interfaces.
- X.PP
- X.SH COMMANDS
- XDescribed below are legal commands understood by
- X.I Mush
- Xthat you can type at your prompt. Most commands have abbreviations
- X(given in parentheses) and can be followed by message lists. In most cases,
- Xwhitespace is not necessary to separate commands from message lists.
- XFor example, "d*" will delete all messages.
- X"u1-7 {4}" will undelete messages 1 through 7 except for message number 4.
- X.in -2
- X.PP
- XThe ability to customize commands using the
- X.B cmd
- Xfacility allows users to have
- X.I Mush
- Xhave a command line appearance to reflect other mailers. However, there
- Xhave been efforts already made to have commands which are backwards compatible
- Xwith other line-mode mailers. Users of the graphics tool mode of
- X.I Mush
- Xmay have little need for the command line mode because the icon based
- Xinterface allows interaction with many commands. The graphics mode is much
- Xmore restrictive in favor of user friendliness but most useful commands may be
- Xachieved anyway.
- X.TP
- X.B alternates
- X(\fBalts\fR) is useful if you have accounts on several machines.
- XIt can be used to inform
- X.I Mush
- Xthat the listed addresses are really you. When you
- X.B reply
- Xto messages,
- X.I Mush
- Xwill not send a copy of the message to any of the addresses
- Xlisted on the
- X.I alternates
- Xlist. If the
- X.B alternates
- Xcommand is given with no argument, the current set of alternate
- Xnames is displayed.
- X.TP
- X.B cd
- Xchange the working directory to that specified, if given. If
- Xno directory is given, then changes to the user's home directory.
- X.TP
- X.B cmd/un_cmd
- XCommand line aliases are set and unset using these commands. More
- Xextensive information is given in the first section of this document.
- X.B uncmd
- Xmay take `*' as an argument to uncmd everything set.
- X.TP
- X.B debug [N]
- XSet debugging level to N (1 by default). When in debug mode, the
- Xuser can see some of the flow of control the program makes while
- Xexecuting. The intent of the debug level is for tracking down
- Xbugs with the program at specific locations. Periodically, the
- Xprogram will segmentation fault and core dump. When this happens,
- Xthe user can reenter the program, set the debugging level and recreate
- Xthe problem.
- X.sp
- XIf the user suspects memory allocation problems, a debugging
- Xlevel of 2 or higher will prevent memory from being freed causing no
- Xoverwriting of memory bounds.
- X.sp
- XIf the user suspects sendmail errors,
- Xa debugging level of 3 or higher will prevent sendmail from starting
- Xand outgoing mail is sent to the standard output instead of actually
- Xbeing sent.
- X.TP
- X.B delete
- XTakes a message list as argument and marks them all as deleted.
- XDeleted messages will not be saved in
- X.IR mbox ,
- Xnor will they be available for most other commands.
- X.TP
- X.B dt
- XDeletes the current message and prints the next message.
- X.TP
- X.B echo
- Xechoes all the arguments given on the command line expanding variables
- Xand expanding history references.
- X.TP
- X.B exit
- X(\fBx\fR) Effects an immediate return to the Shell without
- Xmodifying the current folder or system spool directory.
- X.TP
- X.B expand
- XAliases, given as arguments, are expanded as they would be if you
- Xwere to send mail to each.
- X.TP
- X.B fkey/un_fkey
- XPrints the values of the function keys. The function keys are used in
- Xthe graphics tool mode only. You can set the values of function keys
- Xexplicitly using the
- X.B fkey
- Xcommand, but the whole process is automated by using the function key
- Xinterface provided by the graphics mode. By default, the
- Xlast key in each function key pad displays the values of all the function
- Xkeys in that set of function keys. There are the left, right and top set
- Xof keys.
- X.TP
- X.B folder
- X(\fBfo\fR) [-N] [-r] [!] [ %[user] | # | & | file ]
- X.br
- XChange current folder. No arguments prints current folder.
- X.nf
- X.if t .ta 1.5i
- X.in +2
- X-N No headers are displayed upon entering new folder.
- X-r read only mode (you won't be able to write changes to this folder).
- X! is specified, the current folder is not updated first.
- X%[user] folder to /usr/spool/mail/[user] (yours, by default)
- X# folder accessed previous to current folder
- X& "mbox" -- default is ~/mbox; or set mbox = "file"
- X.in -2
- X.fi
- X.TP
- X.B folders
- XList the names of the folders in your folder directory.
- XYour folder directory is the directory
- X.I Mail
- Xin your home directory. Or, you can set the variable
- X.B folder
- Xto specify another folder directory.
- X.br
- X.TP
- X.B from
- X(\fBf\fR) With no arguments, from will print the current message's header.
- XIf given a message list, from will print the headers of those
- Xmessages which are in the list.
- X.sp
- XThe special arguments, `-' and `+' can be given to move the
- Xcurrent message pointer to the previous or next message
- Xrespectively while also printing that message's header.
- XIf a message list was given in addition to `-' or `+', then
- Xthe current message pointer will be set to the first or last
- Xmessage, respectively, in the message list given.
- X.sp
- X.ti +2
- Xpick -f Dan | from +
- X.sp
- Xwill print the headers of all messages that contain Dan in
- Xin the author's name and set the current message pointer to
- Xthe last one of that kind in the list.
- X.sp
- X.ti +2
- Xfrom - 10-30 {16}
- X.sp
- Xwill print the headers of messages 10 through 30 except for
- Xmessage 16 and set the current message pointer to 10.
- X.sp
- X.ti +2
- Xfrom +
- X.sp
- Xwill print the header of the message after the current message
- Xand increment the current message pointer to the next message.
- X.sp
- X.ti +2
- Xfrom $
- X.sp
- Xwill print the last message's header and not move the current
- Xmessage pointer.
- X%%
- X.TP
- X.B headers
- X(\fBh, z\fR) Prints a screenful of message headers listed in the
- Xcurrent folder. If a message number is given on the command line,
- Xthe first message of the screenful of messages will be
- Xthat message number. The ``z'' command is identical to the ``h''
- Xcommand and remains for compatibility reasons. The variable
- X.B screen
- Xmay be set to tell how many headers are in a "screen." In the graphics
- Xtool mode, the variable,
- X.B screen_win
- Xcontains the number of headers used in the headers subwindow.
- X.sp
- XA typical header may look like:
- X.sp
- X.ti +2
- X5 >N argv@spam.istc.sri.com Feb. 9, (10/278) Test Message.
- X.sp
- XThis line indicates that it is message number 5,
- X.I >
- Xindicates that the "current message pointer" is pointing to this
- Xmessage, the author of this message is
- X.I argv@spam.istc.sri.com,
- Xthe date is
- X.I Feb. 9,
- Xthe number of lines in the message is
- X.I 10,
- Xthe number of characters is
- X.I 278
- Xand the subject of the message is
- X.I Test Message.
- XThe format of the message header exemplified here is described by
- Xthe string variable,
- X.B hdr_format.
- XThe format style of this variable string is just like printf in C.
- XWhen printing the information, the variable is evaluated and each
- Xcharacter in the string is echoed unless a ``%'' character is
- Xencountered. If one is found, the
- Xfollowing string substitutions may be made:
- X.in +2
- X.nf
- X%S message Status.
- X%f the entire "From:" field (author).
- X%a the address of the author.
- X%n the name of the author.
- X%t "to" field (recipients).
- X%d date of the message.
- X%s subject of the message.
- X%l number of lines in the message.
- X%c number of characters (bytes) in the message.
- X\\n \ a newline
- X\\t \ a tab.
- X.fi
- X.in -2
- XA field specifier may be used in all options. Thus, %20f will print the
- Xfirst 20 characters of the from line. No matter what the formatting string,
- Xthe message number followed by a '>' (if current message) is printed.
- X.sp
- XThe "address" and "name" of the author are extracted from the "From:"
- Xfield of the message. The name may be given in parentheses and
- Xthe rest of the line is the address, or the address is given in angle
- Xgrackets, (``<'' and ``>'') and the rest of the line is the name. Sometimes,
- Xthe address is the only thing on the line in which case the name and address
- Xare the same.
- X.sp
- XThe example given above has a hdr_format of
- X.ti +2
- Xset hdr_format = "%S %25f %7d (%l/%c) %25s"
- X.sp
- XYou can print a special subset of message headers by using the
- X.I -H:c
- Xoption, where ``c'' is one of:
- X.nf
- X.in +2
- Xn just print messages headers of new messages
- Xd deleted messages
- Xu unread messages
- Xo old messages
- Xa all messages
- X.fi
- X.in -2
- X.sp
- XMore options to the
- X.B headers
- Xcommand include
- X.I +
- Xand
- X.I -.
- XEach will print the next or previous screenful of message headers.
- XEquivalent commands include
- X.B z [+] [-].
- X``z'' alone will print the next screenful (thus, the + is optional).
- XThe ``-'' is equivalent to ``h -''.
- X.sp
- XHeaders affects all the messages it displays, so piping may be done
- Xfrom the headers command. Piping to the headers command causes the
- Xmessage headers affected by the previous command to be printed. This
- Xaction would be identical to piping to the
- X.B from
- Xcommand.
- X.TP
- X.B help
- XHelp is provided on a per topic basis and on a general basis.
- XFor general help, just typing,
- X.I help
- Xwill provide some general information as to how to get further help
- Xand a list of topics suggested for more specific help. There is also
- Xhelp provided for each command by using the "-?" option to most commands.
- XThis option will provide command line usage information as well as a
- Xdescription of what the command does and how to use it.
- X.TP
- X.B history [-h] [-r] [#histories]
- XThe command history is displayed in chronological order; early commands
- Xare printed first followed by more recent commands displayed last.
- X.I -h
- Xsuppresses printing of history event numbers with each history command.
- X.br
- X.I -r
- Xreverses the order of the history events displayed.
- X.sp
- XIf a number of histories is given, then that number of histories is
- Xechoed rather than the number of histories set by the variable,
- X.B history.
- X.TP
- X.B ignore
- XDisplay or set a list of headers to be ignored when displaying messages.
- XWhen reading messages, all the message headers are displayed with the text
- Xbody of the message. Since these message identifier fields are cumbersome
- Xand uninteresting in many cases, you can filter out those headers by using the
- X.B ignore
- Xcommand.
- X.sp
- X.ti +2
- Xignore Received Date Message-Id
- X.sp
- XThe command,
- X.B unignore
- Xis used to reverse the effects of
- X.B ignore.
- XThese commands may be specified in the initializing files.
- X.TP
- X.B lpr [-Pname] [msg_list]
- Xtakes a message list and sends them, one by one, to the printer
- Xeach separated by page feeds.
- XA default printer name is supplied if one is not specified on the
- Xcommand line (-Pprinter-name). If you have a variable
- X.B printer
- Xset, that printer name will be used.
- X.sp
- XIf the variable,
- X.B print_cmd
- Xis set, the command described by that variable will be used instead
- Xof the default system command. In such cases, the -P option and the
- X.B printer
- Xvariable is ignored and the command is simply executed as is. This is
- Xuseful for sending C source thruough pgrind or other formatting types of
- Xcommands.
- X.TP
- X.B ls
- XJust like the
- X.I UNIX
- Xcommand
- X.I /bin/ls.
- XThe variable,
- X.B lister
- Xdescribes flags to be passed to ls automatically. By default,
- X.I ls
- Xalways uses the -C flag (column output).
- X.TP
- X.B mail
- X(\fBm\fR) Send mail to a list of users. If no user list is specified on the
- X.I Mush
- Xcommand line, then a "To: " prompt will request one. A list of recipients
- Xmust be supplied. This implementation of
- X.I Mush
- Xsupports mailing to files and programs as recipients. Filenames must
- Xbe full pathnames, thus, they must start with a '/' or there is no way to
- Xknow whether a recipient is a pathname or a real user. The ~ is allowed
- Xand is expanded to the user's home directory. Mailing to programs is indicated
- Xby the pipe `|' character preceding the program name. Since the user's path
- Xis searched, full pathnames are not required for programs.
- X.sp
- XExample:
- X.ti +2
- Xmail username /path/to/filename "|program_name"
- X.sp
- XAfter, a
- Xsubject will be prompted for, but this heading is optional.
- XOptional flags are:
- X.nf
- X.in +2
- X.if t .ta 1.8i
- X-v verbose (passed onto mail delivery program)
- X-e immediately enter editor (autoedit)
- X-F add random fortune to the end of message.
- X-i [msg_list] include msg_list into letter.
- X-h [msg_list] include msg_list with headers.
- X-f [msg_list] forward msg_list (not indented).
- X.in -2
- X.fi
- X.TP
- X.B my_hdr/un_hdr
- XYou can create personalized headers in your outgoing mail using this command.
- X.sp
- X.nf
- XUsages:
- X.in +2
- X.if t .ta 2.0i
- Xmy_hdr prints all currently set headers
- Xmy_hdr header value associated with header
- Xmy_hdr header: string set header to string
- Xun_hdr header: unset header
- X.in -2
- X.sp
- X.fi
- XTo set a header, the first argument must be a string
- Xthat contains no whitespace (spaces or tabs) and must end with
- Xa colon ``:''. The rest of the command line is taken to be the
- Xtext associated with the mail header specified.
- XIf any quotes are used in the header and the header itself is not set in
- Xquotes, then quotes should be escaped (preceded) by a backslash. This holds
- Xtrue for semicolons, pipe characters or any other metacharacter that
- X.I Mush
- Xmight interpret as a command line modifier.
- X.sp
- XIf the variable,
- X.B no_hdrs
- Xis set, then your headers will not be added to outgoing messages, but will
- Xnot unset any headers.
- X.B un_hdr
- Xmay take `*' as an argument to un_hdr everything set.
- X.TP
- X.B pick
- Xallows the user to select particular messages from a folder.
- XWith no arguments, pick will search each message for the previously
- Xsearched string (regular expression). You can search for messages from a user,
- Xfor a particular subject line, between certain dates, and limit searches to
- Xa range of messages. You can also find all messages that do not
- Xmatch the same arguments mentioned above.
- X.sp
- X.nf
- XUsage:
- X.ti +2
- Xpick [-r \fImsg_list\fR] [-d [-][date]] [-s|-f|-t] [-x] [-i] [<pattern>]
- X.sp
- X.fi
- XEntire messages are scanned for a <pattern> unless -s, -f, or -t is specified.
- XMessages marked for deletion are also searched.
- XOnly one of -s, -f, -t, and -d can be specified at once. No patterns can
- Xbe specified with the -d option.
- X.sp
- X.nf
- XOptions:
- X.if t .ta 1.25i
- X.in +2
- X-r msg_list restrict the range of messages search to "msg_list"
- X-s search for pattern in the "subject" headers only.
- X-f search for pattern in the "from" field (author) only.
- X-t search for pattern in the "to" field only.
- X-i ignore case of letters (upper and lower case are the same).
- X-d print message headers on or after [`-' before] `date'.
- X-x messages which do not contain the pattern. May not be used with -d.
- X.in -2
- X.fi
- X.sp
- X`date' is of the form: month/date/year. Omitted fields default to
- Xtoday's values.
- X.sp
- XExamples on dates:
- X.nf
- X.in +2
- X.if t .ta 2.0i
- X.sp
- Xpick -d 4/20 msgs on or after April 20, this year
- Xpick -d -/2/85 on or before the 2nd, this month, 1985
- Xpick -d / today only.
- X.fi
- X.in -2
- X.sp
- XAt least one `/' char must be used in date.
- XThere is no strong date checking; 2/30 would be considered a valid date.
- X.sp
- XIf no arguments are given, the previous expression searched for is used.
- X<pattern> is a "regular expression" described by `ed'.
- X.sp
- XExamples using
- X.B pick:
- X.sp
- X.ti +2
- Xpick -d 2/5/86 | pick -d -2/5/87 | pick -s "mail stuff" | lpr
- X.sp
- XThis will find all the messages between the dates February 5, 1986 and
- XFebruary 5, 1987 that contain the subject "mail stuff" and print them.
- X.sp
- X.ti +2
- Xpick -s Re: | delete
- X.sp
- XDeletes messages that have "Re:" in the subject
- X.sp
- X.ti +2
- Xfolder +project | pick -f frank
- X.sp
- XFinds all messages from frank in the folder described by +project.
- X.TP
- X.B preserve
- X(\fBpre\fR) Saves a message list in your spool directory rather than
- Xyour mailbox unless it has been explicitly deleted. The variable
- X.B hold
- Xcauses all messages to be held in your spool directory automatically.
- X.TP
- X.B print
- X(\fBp, type, t\fR)
- XTakes a message list and types out each message on the user's terminal.
- X.TP
- X.B pwd
- XPrints the current working directory.
- X.TP
- X.B quit
- X(\fBq\fR)
- XMessages which have been read go to your
- X.I mbox
- Xor the file described by the string variable
- X.B mbox.
- XIf the variable "hold" then all messages not marked for deletion are
- Xsaved in the spool directory.
- XMessages marked for deletion are discarded.
- XUnread messages go back to the spool directory in all cases.
- X.TP
- X.B reply, replyall, respond
- X(\fBr, R\fR)
- XMessages are replied to by sending mail to the sender of each message
- Xin the given message list.
- X.B replyall
- Xresponds to all the recipients as well as the
- Xsender of the message. You may pass
- X.B mail
- Xflags as they are passed on to the
- X.B mail
- Xcommand.
- X.sp
- XWhen contructing a return mail address to the author of a message,
- X.B replyall
- Xsearches for special mail headers in the author's message which
- Xindicate the most efficient mail path for return mail.
- X.I Mush
- Xwill search for the following headers by default:
- X.B Reply-To:, Return-Path:, From:.
- X.sp
- XIf none of these fields are found in the message, the first line of the
- Xmessage is parsed; this "From " line is different from the "From: " line.
- XIf the user wishes to change the order or the actual fields to search for
- Xreturn paths, then the variable,
- X.B reply_to_hdr
- Xis checked for a list of headers to be used (in the order specified). If
- X.B reply_to_hdr
- Xis set, but has no value, the first "From " line is used regardless of what
- Xheaders the author's message contains. This is a special case setting for
- Xthe variable and the "From " line may not be specified explicitly or as an
- Xitem in the list of reply-to headers.
- X.sp
- XWhen replying to all recipients of the message using the
- X.B replyall (R)
- Xcommand, only the original author's address can be obtained from
- Xthe message headers. There is no way determine the best path to the
- Xother recipients of the message from message headers aside from taking
- Xtheir addresses directly from the To: and Cc: lines.
- X.sp
- XNormally, this isn't a problem with arpanet style addressing schemes.
- XThe problems start with uucp because mail is not "one hop away." That
- Xis to say that mail must be routed through other computers, often many
- Xof them, till the message finally gets to its desitination. If the
- Xoriginal sender of the message was on a remote machine which your machine
- Xmay or may not exchange uucp mail with, then a uucp path will have to be
- Xcreated to respond to the author. However, if he mailed to other people
- Xon machines which are also multi-hops away, the addresses he used for
- Xthose recipients may differ from what you should specify if you were to
- Xtry to reply to all everyone on the original message.
- X.sp
- XFor example, if the original sender came from remote host,
- X.B pixar
- Xand the list of recipients looked like,
- X.sp
- X.ti +2
- XTo: r2d2!user1 r2d2!user2
- X.sp
- Xyou would not be able to respond to those users if your machine
- Xdid not connect with the host,
- X.B r2d2.
- X.sp
- XThis problem will be attempted to be solved if the variable,
- X.B fixaddr
- Xis set. If so, an attempt will be made to compensate by reconstructing
- Xthe addresses for user1 and user2 according to the address of the original
- Xsender. The new addresses for user1 and user2 should therefore become,
- X.sp
- X.ti +2
- Xpixar!r2d2!user1, pixar!r2d2!user2.
- X.sp
- XThere is an additional case where your machine calls
- X.B both
- Xr2d2 and pixar. Then, it becomes unneccessary to route the mail through
- Xpixar and then to r2d2 if you can deliver the mail directly yourself.
- XThe variable,
- X.B known_hosts
- Xmay be set to a list of hosts which you know your machine to have
- Xuucp mail connections with. This list is checked when constructing
- Xmail addresses and the shortest path is made by removing from the
- Xuucp path those hosts which do not need to be called. See the entry for
- X.B known_hosts
- Xin the VARIABLES section.
- X.sp
- XIf the variable,
- X.B auto_route
- Xis set, all redundant hostnames from all uucp pathnames are removed
- Xto avoid unnecessary uucp connections and improve speeding up mail delivery.
- XThe reason for this stems from cases where a number of replies to the same
- Xmessage go back and forth and the return address becomes long and contains
- Xdedundancy.
- X.sp
- X.ti +2
- Xpixar!island!sun!island!argv
- X.sp
- XHere, we have an example where mail was probably originally
- Xsent to users at pixar and sun from somewhere undetermined now. Since sun
- Xand pixar do not talk to each other, the users on those machines may have
- Xresponded to mail creating the type of addresses stated above.
- XWith auto_route set,
- X.I Mush
- Xwill modify this address to look like,
- X.sp
- X.ti +2
- Xpixar!island!argv
- X.sp
- XThis is not necessary for arpanet users since connections can almost always
- Xbe established without having to route through other arpanet hosts. If a
- Xmixture of arpanet sites and uucp sites are mixed, then unknown results may
- Xoccur.
- X.TP
- X.B copy/save/write [!] [message list] [filename]
- X(\fBs\fR) With no arguments,
- X.B copy, save
- Xand
- X.B write
- Xwill save the current message to the file,
- X.I mbox
- Xin the user's home directory (or the file specified by the,
- X.B mbox
- Xvariable). If a message list is given, then the messages specified by
- Xthe list are saved. If a filename is given, then that filename is used
- Xinstead of mbox. If the file exists and is writable, the specified command
- Xwill append each message to the end of the file. If the `!' is given,
- Xthen the file is overwritten causing whatever contents it contains
- Xto be lost. The
- X.B write
- Xcommand differs from
- X.B save
- Xand
- X.B copy
- Xin that the message headers are
- X.I not
- Xsaved in the file along with the body of text.
- X.sp
- XIf the current folder is the system mailbox, then saved messages are
- Xmarked for deletion when the user exits using the
- X.B quit
- Xcommand. If the variable
- X.I keepsave
- Xis set or the current folder is not the system mailbox, then messages are
- Xnot marked for deletion. The
- X.B copy
- Xcommand is is like
- X.B save
- Xexcept that messages are not marked for deletion regarless of whether
- X.B keepsave
- Xis set or not.
- X.sp
- XBecause message lists are used to determine the messages to be saved,
- Xif the user wishes to save messages to a file that begins with a digit
- Xor any other message list metacharacter, a back-slash should precede
- Xthe filename to escape the message list expansion routine. The back-slash
- Xwill not be a part of the filename.
- X.TP
- X.B saveopts
- XThe completement of
- X.B source, saveopts
- Xwill save all settable variables, aliases and cmd's in the initializing file.
- X(See the
- X.B source
- Xcommand for more information on initializing files.)
- XIf an argument is given, that file is used. Beware that this will overwrite
- Xfiles so any ``if'' expressions used will be lost. There is no prompting for
- Xconfirmation on overwrites, either. Using saveopts is highly discouraged
- Xand is intended for the naive user only.
- X.TP
- X.B set/unset
- XWith no arguments, prints all variable values. Otherwise, sets
- Xoption. Arguments are of the form ``option=value'' (whitespace is allowed).
- XBoolean expressions need not have ``=value'' associated in the command.
- XThe special command,
- X.I set ?all
- Xwill print all known variables utilized by the program and a brief description
- Xof what they do. The user may set and manipulate his own set of variables, but
- Xinternal variables that are utilized by the program are the only ones displayed.
- X.sp
- XThe command
- X.I set ?variable_name
- Xwill print the same information for one variable instead of all variables.
- XYou may unset everything by issuing the command ``unset *''. This is also
- Xtrue for aliases, own_hdrs, ignored headers, cmds and function keys.
- X.TP
- X.B sh [command]
- XInvokes an interactive version of the shell. The shell spawned
- Xis described by the variable,
- X.B shell.
- XIf the optional argument,
- X.B command
- Xis given, then that command is executed under the Bourne Shell.
- XIf the special character `&' is at the end of any shell command,
- Xthen the command will be executed in background.
- X.TP
- X.B source
- Xreads
- X.I Mush
- Xcommands from a file. If no filename is specified, the files searched
- Xfor are .mushrc or .mailrc in the user's home directory. If the environment
- Xvariable MAILRC is set, then that file is sourced. If a filename is given
- Xon the command line, that file is sourced. See the
- X.B INITIALIZATION
- Xheading and the
- X.B home
- Xvariable descriptions for more information.
- X.TP
- X.B sort
- Xwill sort messages according to author, date, status or subject
- X(with or without considering the "Re: ", in replied messages). In
- Xaddition, the messages can be sorted in reverse order (same arguments).
- X.nf
- Xsort [-] [d | a | s | S | R]
- X.in +2
- X- reverse sort order.
- Xd sort according to date received.
- Xa author (alphabetical).
- Xs subject ignoring Re: as part of the subject.
- XR subject (alphabetical).
- XS by message status.
- X.in -2
- X.fi
- XBy default (no arguments),
- X.B sort
- Xsorts messages by status:
- XNew, unread messages are first, followed by preserved messages
- Xand finally the deleted messages are placed at the end of the list.
- X.sp
- XIf the variable
- X.I sort
- Xis set, messages are sorted each time the user's system mailbox is
- Xread as the current folder. The
- X.I sort
- Xvariable can be set to nothing or to legal "sort" arguments.
- XNote that only one argument (except for the `-'), may be used.
- X.sp
- XSubsorting can be acheived by using the piping mechanism intrinsic to
- Xthe line mode interface; no other interface allows subsorting "directly."
- XEach interface may allow subsorting if appropriate actions are taken discussed
- Xlater.
- X.sp
- XTo subsort messages, the folder must be in a particular order to begin
- Xwith. To sort mail by author and then by subject heading, you would
- Xhave to first sort by author:
- X.sp
- X.ti +2
- Xsort a
- X.sp
- XNow that the messages are in order according to author, sorting a
- Xsublist of messages is done using pipes:
- X.sp
- X.ti +2
- Xpick -f island!argv@sun.com | sort s
- X.sp
- XThis finds all messages from the user, "island!argv@sun.com" and sorts them
- Xby subject. Since these messages are already grouped together via the
- Xprevious sort command, the sorting by subject (s) will restrict itself
- Xto such messages. You may specify the exact message list by specifying
- Xthat message list on the command line and using a pipe:
- X.sp
- X.ti +2
- X10-. | sort d
- X.sp
- XThis command means to sort the messages from 10 to the current message
- Xaccording to the date.
- X.sp
- XTo specify subsorting from with the curses interface, the temporary
- Xcurses escape key must be used (the colon ':') and the command issued
- Xat the command line given (as if giving an ``ex'' command to ``vi'').
- XWhen the command is finished, the "...continue..." prompt is given and
- Xthe user may continue or return to the top level of the curses mode.
- X.sp
- XIn the tool interface, the user must map a function key to the desired
- Xcommand. Select the "Opts" icon with the right mouse button, choose
- Xthe menu item labeled, "function keys" and user the interface provided
- Xto set a function key to the desired piped mechanism.
- X.TP
- X.B stop
- XFor systems with job control, stop will cause
- X.I Mush
- Xto send a SIGTSTP to itself. The command was introduced to facilitate
- Xthe stop-job action from a complex command line alias rather than the user
- Xhaving to type his stop character explicitly.
- X.TP
- X.B top
- XTakes a message list and prints the top few lines of each.
- XThe number of lines printed is controlled by the variable
- X.B toplines
- Xand defaults to the size of the value of the variable
- X.B crt.
- XThis command is ignored in the tool mode.
- X.SH VARIABLES
- X.PP
- XShell variables are controlled via the
- X.B set
- Xand
- X.B unset
- Xcommands. Options may be either boolean, in which case it is only
- Xsignificant to see whether they are set or not, string, in which
- Xcase the actual value is of interest, or numerical, in which the
- Xnumerical value is important. Some variables may have attributes
- Xof boolean and string at the same time.
- X.sp
- XIf you or the program references a variable which is not explicitly set,
- Xthen the environment variables are checked and a pointer to that data
- Xis returned.
- X.TP
- X.B alwaysignore (boolean)
- XIf set, the mail headers set by the
- X.B ignore
- Xcommand are always ignored.
- XNormally, ignore will only ignore headers when reading, saving(writing)
- Xto files, or interpolating messages into letters with the ~f escape. See the
- X.B ignore
- Xcommand for more information.
- X.TP
- X.B askcc (boolean)
- XIf set, you will be prompted for a Cc list (carbon copy) when you are finished
- Xediting a letter to be sent. In the tool mode, this is ignored; the Cc list
- Xis always prompted for after the Subject is prompted.
- X.TP
- X.B autodelete (boolean)
- XWhen exiting mail, all messages which have been read
- X.I regardless of whether they have been marked for deletion
- Xare removed. Only messages that haven't been read or marked as
- X.B preserved,
- Xare not removed.
- X.TP
- X.B autoedit (boolean)
- XIf set, you are automatically put into your editor whenever you
- Xsend or reply to mail.
- X.TP
- X.B autoinclude (boolean)
- XWhen replying to any mail, a copy of the message being replied to
- Xis automatically inserted into your message body indented by
- Xthe string described by the variable
- X.B indent_str.
- X.TP
- X.B autoprint (boolean)
- XAfter you delete a message, the next message is printed automatically.
- X.TP
- X.B auto_route
- XAutomatic trancation of uucp address to a more brief and efficient path
- Xis attempted resulting in faster mail delivery. Redundant hostnames are
- Xremoved from the uucp path if they occur and heuristics are used to
- Xdetermine the shortest path to the desination based on return addresses.
- XAlso see the variables,
- X.B known_hosts, fixaddr,
- Xand the command,
- X.B replyall.
- X.TP
- X.B autosign (boolean/string)
- XIf the variable is set,
- Xbut not to a string (e.g. boolean-true), then the file ~/.signature is used.
- X.sp
- XOtherwise, the variable is interpreted as a pathname opened relative to
- Xthe current directory. For this reason, it is adviseable to use full
- Xpathnames here. As usual, the ~ and + are expanded as described earlier.
- XIf the file is found, it is opened and its contents are read into the
- Xmessage buffer.
- X.sp
- XIf the variable is set to a string that begins with `$', then the string
- Xis interpreted as a user definable variable and it is expanded and appended
- Xto the letter.
- X.sp
- XFinally, if the variable is set to a string that begins with a backslash (\\),
- Xthen the string itself (minus the \\ character) is used and no expansion
- Xis done and no files are read.
- X.sp
- XIn the latter two cases, it is advisable to set the variable using single
- Xquotes to avoid expanding the variable beforehand or from eliminating the
- Xbackslash. For example,
- X.br
- X.nf
- Xset autosign = '$foo'
- Xset autosign = '\\this is an exmple string.'
- X.fi
- X.TP
- X.B crt (numeric)
- XSet to a value which describes the number of lines a message
- Xmust have before invoking the
- X.B pager
- Xto view a message.
- X.TP
- X.B cwd (string)
- XThe
- X.B current working directory
- Xstring is automatically set upon startup of
- X.I Mush
- Xand each time the command,
- X.B cd,
- Xis called. It is referenced each time
- X.B pwd
- Xis called and may be used as any other shell variable.
- X.TP
- X.B dead (string)
- XFile to use instead of "dead.letter" when dead mail is saved.
- X.TP
- X.B dot (boolean)
- XAccepts a "." on a line by itself instead of ^D to terminate letter.
- X.TP
- X.B editor (string)
- XEditor to use when ~e is specified. Default is the value of the variable,
- X.B visual.
- X.TP
- X.B escape (character)
- XWhen typing in a letter (not in an editor), when the
- X.B escape
- Xcharacter is the first character on the line, the following character
- Xis examined and a corresponding function associated with that
- X.B escape command
- Xis executed. See
- X.B tilde escapes
- Xfor more information.
- X.TP
- X.B fixaddr (boolean)
- XCauses replyall to modify the return addresses of all recipients to
- Xroute through the original sender's host. Mostly used for uucp mail.
- XSee the
- X.B replyall
- Xcommand for more detailed information.
- X.TP
- X.B folder (string)
- XThe folder variable is set to a path where folders are kept. ~/Mail
- Xis the default value.
- X.TP
- X.B fortune (boolean/string)
- XIf fortune is set, a random fortune is appended to the end of
- Xall outgoing mail using the
- X.I UNIX
- Xcommand,
- X.B /usr/games/fortune
- X(may vary from system to system).
- XIf fortune is set to something that starts with
- Xa '-', then it is interpreted as a flag to fortune (e.g. "-o"). If
- X.B fortune
- Xstarts with a '/', then the program described by
- Xthe string is executed (thus not doing fortune at all, if you want).
- XBy default, fortune -s (short fortunes) is used.
- X.TP
- X.B fortunates (string)
- XThis is a variable set to a list of people who, if any are
- Xon the To: line, or the Cc: line, a fortune is added.
- XIf those lists do not contain names which are on the fortunates
- Xlist, then no fortune is added.
- X.I "NOTE: fortune must be set in order for fortunates to work."
- X.TP
- X.B hdr_format (string)
- XSee the description of hdr_format above.
- X.TP
- X.B hold (boolean)
- XNormally, on termination of mail, read messages are saved in
- Xmbox (except those marked as preserved). Hold, prevents this
- Xfrom happening and messages remain in /usr/spool/mail/user.
- XThis does not apply to folders, obviously.
- X.TP
- X.B home (string)
- XThis variable describes the user's home directory. The variable
- Xis initialized to the value of the environment variable, HOME,
- Xbut can be modified at any time during the
- X.I Mush
- Xsession. The home directory is the same directory where temporary
- Xfiles are kept for editing and so forth. If the home directory cannot
- Xbe found or read/write access is denied, an alternate directory, typically
- X/tmp, is used.
- X.TP
- X.B ignore_bang (boolean)
- XIgnore the `!' character as a history reference.
- X.TP
- X.B ignoreeof (boolean/string)
- XIf set, ^D will not exit mail. If set to a "string", that string is
- Xexecuted as a command.
- X.TP
- X.B indent_str (string)
- XWhen including messages into the text of a letter you are editing,
- Xthe messages are preceded by whatever is described by indent_str.
- XThe default string used is "> ".
- X.TP
- X.B keepsave (boolean)
- XIf set, the commands,
- X.I save
- Xand
- X.I write
- Xwill
- X.B not
- Xmark messages for deletion.
- X.TP
- X.B known_hosts (string)
- XUsed in conjunction with the variable,
- X.B auto_route,
- Xthis variable is set to a list of hosts, separated by spaces, tabs,
- Xand/or commas, and describes
- Xthe hosts with whom you know your machine shares uucp connections.
- XWhen replying to mail, many times you will see the return path constructed
- Xwill have hostnames which your site could call, but instead the mail would
- Xbe routed throughout a number of different machines first.
- X.sp
- XFor example, if you respond to mail which would mail to the path,
- X.sp
- X.ti +2
- Xunicom!pixar!root
- X.sp
- Xbut your know your machine already calls pixar, then sending the mail
- Xto unicom first would be unneccessary. If you have your known_hosts
- Xstring include pixar in its list, the resulting address would look like,
- X.sp
- X.ti +2
- Xpixar!root
- X.sp
- XAlso see the command,
- X.B replyall
- Xfor more information on constructing more correct return addresses.
- X.TP
- X.B lister (string)
- XDefault arguments to the "ls" command for printing the
- Xcontents of a directory.
- X.TP
- X.B mbox (string)
- XSet to the pathname of a file you'd like mush to use as the default
- Xholder for read mail. The default is ~/mbox.
- X.TP
- X.B metoo (boolean)
- XWhen replying to mail, you are normally deleted from the list of
- Xrecipients. If metoo is set, you remain on the list. See alternates
- Xfor information on determining whether or not you're even on the list.
- X.TP
- X.B newline (boolean/string)
- XIf set, Carriage Returns are ignored, if set to a "string", that string is
- Xexecuted as a command. Otherwise CR's read the next undeleted message.
- X.TP
- X.B no_hdr (boolean)
- XDon't include your personalized mail headers in messages. This does
- Xnot unset your headers, it just disables them from being specified.
- X.TP
- X.B no_reverse
- XIn curses mode and in the tool mode, reverse video is not used to indicate the
- X.I current message.
- XIn the tool mode, if reverse video is not in use, text is displayed in "bold".
- X.TP
- X.B nosave (boolean)
- XIf set, terminated mail is not saved in dead.letter
- X.TP
- X.B pager (string)
- XIf a message is longer than what the variable
- X.B crt
- Xis set to, then this program is executed to view a message. The
- Xdefault value for pager is /usr/ucb/more.
- X.TP
- X.B printer (string)
- XUsed to set the default printer for the lpr command.
- X.TP
- X.B prompt (string)
- XYou can set your prompt to tell you many different pieces of information.
- XBy default, the prompt is set to the string,
- X.ti +2
- X"Msg %m of %t: "
- X.br
- XIf you have 10 messages and your current message is 5, then your prompt
- Xwould look like:
- X.ti +2
- XMsg 5 of 10:
- X.br
- XThe string variable
- X.B prompt
- Xcan be set to display other information.
- XThe string value that prompt is set to will be printed as your
- Xprompt. If the string contains a ``%'', then that character is
- Xignored and the next character is evaluated and an appropriate
- Xvalue is printed in its place:
- X.nf
- X.in +2
- X%m expands to the "current message" number.
- X%t total number of messages.
- X%u number of unread messages.
- X%d number of deleted messages.
- X%n number of "new" messages.
- X%f expands to the filename of the current folder.
- X%T the current time (hours and seconds).
- X%D today's day (sun, mon, tues...).
- X%N today's date (Number of the day in the month).
- X%Y this year.
- X\\n \ \ will have a RETURN in the prompt.
- X\\t \ \ a tab.
- X.fi
- X.in -2
- X.TP
- X.B quiet (boolean)
- XIf set, the currently running version of
- X.I Mush
- Xis not printed on startup.
- X.TP
- X.B record (string)
- XSet to the name of a file to record all outgoing mail. This should be a
- Xfull pathname or the current directory is searched. The pathname may begin
- Xwith ``+'' (indicating the user's ~/Mail directory or described by $folder)
- Xor with a ``~'' indicating the user's home directory (or ~user).
- X.TP
- X.B reply_to_hdr (string)
- XWhen replying to mail,
- X.I Mush
- Xsearches for return paths from the message by searching for
- Xthe message headings, "reply-to", "return-path", and "from:"
- Xrespectively. If none are found, then the first line of the
- Xmessage created by the delivery system is parsed and the address
- Xgiven there is used. If the variable,
- X.B reply_to_hdr
- Xis set, then the list of headers (delimited by spaces or commas)
- Xis searched. If none of the headers listed in the variable exist
- Xin the message, then a warning message is printed and the default
- Xheaders are used.
- X.TP
- X.B screen (numerical value)
- XNumber of message headers to display at a time.
- X.TP
- X.B screen_win (numerical value)
- XNumber of message headers to display in the tool mode. There
- Xis a subwindow for message headers and its size is large enough
- Xto hold `screen_win' number of headers.
- X.TP
- X.B show_deleted (boolean)
- XIf true, deleted message headers are displayed along with
- Xother messages ('*' indicates a deleted message). In curses mode,
- Xthis variable is ignored and deleted messages are always displayed
- Xwith other messages to facilitate undeleting messages.
- X.TP
- X.B squeeze
- XWhenever messages are read, piped, or saved, if this variable is set,
- Xall consecutive blank lines are squeezed into one blank line.
- X.TP
- X.B toplines (numerical value)
- XThe number of lines of a message to print when the "top" command
- Xis issued. If unset, `crt' lines are printed.
- X.TP
- X.B unix (boolean)
- XIf set, commands which are not
- X.I Mush
- Xcommands are considered to be
- X.I UNIX
- Xcommands. This removes the inconvenience of requiring the user to do
- Xshell escapes to do quick UNIX commands. For systems that support job
- Xcontrol, SIGTSTP will stop the entire shell as well as the process
- Xbeing executed. When SIGCONT is delivered, both will receive the
- Xsignal and the shell will continue to wait for the job to finish.
- X.sp
- XThe lack of real job control, input/output redirection and UNIX command piping,
- Xthis mode of the shell is not intended to be used as a login shell.
- X.sp
- XIf a
- X.I Mush
- Xcommand conflicts with a UNIX command, use 'sh' to override the shell command.
- X.sp
- X.I "WARNING: Be aware that Mush commands return message lists, NOT TEXT.\ "
- XYou cannot pipe UNIX or shell commands to or from UNIX commands.
- XUNIX commands should be simple commands without pipes or metacharacters.
- X.sp
- XThis feature is not available for the graphics (tool-based) mode.
- X.TP
- X.B verbose (boolean)
- XPasses verbose flag to mail delivery systems when sending mail.
- X.TP
- X.B verify (boolean)
- XWhen through editing messages, just before sending,
- X.B verify
- Xwill ask you if you want to send, continue editing, or abort the
- Xwhole message all together.
- X.TP
- X.B visual (string)
- XVisual editor to use when ~v is specified. Default is vi. The visual
- Xeditor is invoked with -e arguments to the commands, "respond" and "mail."
- X.TP
- X.B warning (boolean)
- XIf set, warning messages are printed when:
- X.in +4
- X.ti -2
- X\(bu a command line alias (`cmd') looks like a command. For example,
- X.br
- Xcmd mail 'set fortune; \\mail'
- X.br
- Xcmd respond 'unset fortune; \\respond;'
- X.br
- X.ti -2
- X\(bu a variable is set differently from its default value.
- XFor example, if the escape character is set to something other
- Xthat the tilde ( ~ ), then a warning message will be printed.
- X.in -4
- X.sp
- XThe intent is so that users who are used to their own environments
- Xwill be aware of changes in other environments should they be forced
- Xto use them.
- X.SH FILES
- X.if n .ta 2.5i
- X.if t .ta 1.8i
- X/usr/spool/mail/* The directory for incoming mail.
- X.br
- X~/Mail Default \fBfolder\fR directory.
- X.br
- X~/mbox Old Mail.
- X.br
- X~/.mushrc File giving initial \fIMush\fR commands.
- X.br
- X~/.mailrc Alternate initialization file.
- X.br
- X~/.edXXXXXXX Temporary for file for outgoing messages.
- X.br
- X~/.mushXXXXXX Temporary mail file (copy of current folder).
- X.PP
- XTemporary files which are created by the program are always
- Xcreated with read/write access to the owner only; group and other
- Xpermissions are never set. This is also true for the /usr/spool/mail/*
- Xfiles. All other files created by the user via commands internal or
- Xexternal to the program have permissions set by the user's default
- Xumask. If the umask is reset within the program, the mask remains
- Xin tact even after exiting. Remember to set the variable,
- X.B unix
- Xbefore attempting to set the umask value.
- X.PP
- XIf your system is using Sun Microsystem's NFS, take special note to
- Xread the manual page for mount(1). Filesystems mounted for read/write
- Xaccess should be mounted as "hard" NFS mounts or you may lose mailboxes
- Xduring a timeout during a write or update.
- X.PP
- XFilesystems that use RFS still have bugs to be ironed out in the way
- Xof owners and permissions concerning utime(2).
- X.sp
- X.SH "SEE ALSO"
- XMail(1), binmail(1), csh(1), aliases(5), mount(1),
- Xmailaddr(7), sendmail(8), printf(3), execl(3), umask(1), utime(2).
- X.sp
- X.SH AUTHOR
- XThis code was written entirely by Dan Heller and contains no UNIX sources
- Xor is a modified version of any other mailer. Similarities with any other
- Xmailer previous to
- X.I Mush
- Xmay have been designed for compatibility reasons with such mailers, but
- Xno source code was barrowed, or even referenced to develop
- X.I Mush.
- X.PP
- Xargv@spam.istc.sri.com island!argv@sun.com
- X.sp
- X.SH BUGS
- XThe curses interface uses the curses library. The routines from the
- Xlibrary that are used are the most basic and simple to avoid possible
- Xbugginess that different versions of UNIX might have. However, one
- Xunavoidable problem is the reverse video mode. Depending on your terminal,
- Xthe termcap entry for it, and the version of curses you are running,
- Xthe reverse video may makes things worse than desired. In such situations,
- Xthe user should set the variable,
- X.B no_reverse
- Xto not get reverse video. ^R may still be entered at runtime in the curses
- Xinterface to toggle reverse video.
- X.sp
- XIf the program is already running and the system [later] has to swap
- Xand there is no swap space left, there may be problems. One such
- Xproblem is sending mail. If this happens, then sending mail
- Xwill fail and a segmentation fault from the spawned forked child will occur
- Xunless the -v flag was given to mail. The unsent letter will
- Xnot be removed from the editing file ($home/.edXXXXXX) and may be recovered.
- X.sp
- XMany functions available to the line oriented mode (shell mode)
- Xare not available to the tool mode. For example,
- X.B pick
- Xmay not be directly accessed although experienced users may find that
- Xtyping pick commands within single backquotes in the "range" panel item
- Xin the header window will indeed pick messages. This is mostly for selecting
- Xthe "delete range" item or the middle mouse button icon in the header panel.
- X.sp
- XShell escapes (of any kind) may not be called from
- Xthe tool/graphics mode. The reason for this is that there is no tty
- X.I window
- Xto run commands from. It is impossible to determine whether or
- Xnot the user wants to run an interactive program or not so it is
- Xbest to disallow its usage all together. The experienced window user
- Xcan figure out how to really do shell layers from within the tool mode.
- X.sp
- XToggling from the curses mode to the line mode to get the full
- Xfunctionality of the shell/line mode is unfortunately necessary
- Xin the name of "user friendliness." Mostly, this is only necessary
- Xfor piping of commands and using the pick command.
- X.sp
- XThe function keys and their ability to
- X.I work
- Xhas been variable depending on the version of SunWindows/SunView
- Xyour Sun Workstation has. From time to time, it works, but when it
- Xdoesn't, it seems to be related to other user or system definable
- Xdot-files or whatever. I hardly use them, so I haven't had a chance
- Xto really debug that part much. My experiences have shown them to
- Xwork in Sun versions 2.0, 2.2, and 3.3, but not 2.2, 2.3, 3.0 or 3.2.
- X.sp
- XWhen using
- X.B vi
- Xin the tool/graphics mode, periodically the window will be one line
- X"short." That is, scrolling will be off by one and line and you may
- Xhave to redraw the window (using `z.' in vi) to get it in sync again.
- XThis is a known problem with SunWindows, but Sun refuses to fix it
- Xas SunWindows are "obsolete."
- X.sp
- XWhen running on full filesystems,
- X.I Mush
- Xmay complain or not even run since it needs temporary space with which
- Xto work. Instead of finding new filesystems on it's own,
- X.I Mush
- Xleaves this task up to the user. The workaround is to set the variable
- X.B home
- Xin the initialization file to be a writable place in a filesystem which
- Xhas enough disk space. This will set the user's home directory to be
- Xset incorrectly, but resetting the home manually once in the shell
- Xwill correct the problem.
- X.sp
- XMost of the other known and documented bugs
- Xare in the supplied README file accompanying the source. Of course,
- Xthe source is an excellent place to look as most known bugs are documented
- Xright in the source code. A good way to track suspicious bugs is to use the
- X.B debug
- Xcommand. This command is very difficult to use in curses mode.
- END_OF_FILE
- if test 46963 -ne `wc -c <'mush.1.b'`; then
- echo shar: \"'mush.1.b'\" unpacked with wrong size!
- fi
- # end of 'mush.1.b'
- fi
- echo shar: End of archive 04 \(of 12\).
- cp /dev/null ark04isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 12 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-